// Have include guard.
#ifndef FPK_ARCADEDRIVEFILTER_HPP
#define FPK_ARCADEDRIVEFILTER_HPP

#include "../Filter.hpp"
#include "../../Values/JoystickValue.hpp"
#include "../../Values/TankValue.hpp"

/**
 *  The ArcadeDriveFilter class is a filter that converts from a JoystickValue to a TankValue using arcade drive.
 */
class ArcadeDriveFilter :
	public Filter<JoystickValue, TankValue>
{
	public:
		/**
		 *  Apply the filter to an input.
		 */
		virtual TankValue Apply(const JoystickValue &input) const;
};

#endif // #ifndef FPK_ARCADEDRIVEFILTER_HPP
